package max.utils;

import java.io.File;

/**
 * Created by IntelliJ IDEA.
 * User: Max
 * Date: 02.08.2008
 * Time: 16:21:22
 */

/**
 * Класс предназначен для обратной совместимости со старыми версиями пакета.
 * Он вызывает методы, описанные в классах {@link Maxutils} и {@link Files}.
 * @author Максим Таран
 */
public class utils {

    /**
     * Выводит текущее время и сообщение в стандартный поток вывода.
     * @param s сообщение, которое надо вывести.
     * @deprecated
     */
    public static void timeMessage(String s) {
        Maxutils.timeMessage(s);
    }

    /**
     * Метод, выводящий сообщение от ошибке вместе со временем. Сообщение выводится в поток ошибок.
     * @param s Сообщение, которое необходимо вывести
     * @deprecated
     */
    public static void errorTimeMessage(String s) {
        Maxutils.errorTimeMessage(s);
    }

    /**
     * Процедура для копирования файла.
     * @param source Путь к файлу, который надо скопировать
     * @param dest   Полный путь файла назначения (вместе с именем файла)
     * @deprecated
     */
    public static void copyFile(String source, String dest) {
        Files.copyFile(source, dest);
    }

    /**
     * Метод переделывает время в миллисекундах в строку формата: <i>количество_лет дней часов:минут:секунд.миллисекунд</i>.
     * @param mills Количество миллисекунд, которые надо перевести.
     * @return Возвращает строку формата: <i>y d hh:MM:ss.mmmm</i>
     * @deprecated
     */
    public static String getFormattedTime(long mills) {
        return Maxutils.getFormattedTime(mills);
    }

    /**
     * Метод, преобразующий число в строку с необходимым количеством лидирующих нулей.
     * @param number    Число, в начале которого необходимо добавить нули
     * @param numdigits Общее количество знаков, которое должно быть. Относительно этого параметра вычисляется количество лидирующих нулей
     * @return Возвращает строку вида 00012
     * @deprecated
     */
    public static String leadZero(int number, int numdigits) {
        return Maxutils.leadZero(number, numdigits);

    }

    /**
     * Метод возвращает разницу между текущим временем и временем, переданным ему в качестве параметра.
     * Для перевода миллисепкунд в часы, минуты, секунда используется метод {@link max.utils.Maxutils#getFormattedTime(long)}.
     * @param mills Количество миллисекунд с начала эпохи, относительно которого необходимо найти разницу.
     * @return Возвращает разницу во времени относительно текущего времени
     * @deprecated
     */
    public static String diffTime(long mills) {
        return Maxutils.diffTime(mills);
    }

    /**
     * Метод для удаления всех файлов и каталогов в указанном каталоге с любой вложенностью.
     * @param path путь к каталогу, в котором необходимо удалить все файлы и каталоги.
     * @return <code>true</code>, если удаление всех файлов завершилось успешно.
     *         <code>false</code> во всех остальных случаях.
     * @deprecated
     */
    public static boolean eraseFilesFromCatalog(String path) {
        return Files.eraseFilesFromCatalog(path);
    }


    /**
     * Метод для удаления всех файлов и каталогов в указанном каталоге с любой вложенностью.
     * @param path объект типа File, указывающий на каталог в котором необходимо удалить
     *             все файлы и каталоги.
     * @return <code>true</code>, если удаление всех файлов завершилось успешно.
     *         <code>false</code> во всех остальных случаях.
     * @deprecated
     */
    public static boolean eraseFilesFromCatalog(File path) {
        return Files.eraseFilesFromCatalog(path);
    }

}
